package com.ideaaedi.zoo.example.springboot.flowable.sharding.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ideaaedi.zoo.diy.artifact.flowable.facade.DefaultBpmnHisProcessInstance;
import com.ideaaedi.zoo.example.springboot.flowable.sharding.entity.dto.ShardingProcessDetailQueryDTO;
import com.ideaaedi.zoo.example.springboot.flowable.sharding.entity.dto.ShardingProcessListQueryDTO;
import com.ideaaedi.zoo.example.springboot.flowable.sharding.entity.po.ActHiProcinstPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author Administrator
 * @since 1.0.0
 */
@Mapper
public interface ActHiProcinstMapper extends BaseMapper<ActHiProcinstPO> {
    
    /**
     * 查询流程详情
     *
     * @param param 参数
     *
     * @return 流程详情
     */
    DefaultBpmnHisProcessInstance detailHisProcessInstance(@Param("param") ShardingProcessDetailQueryDTO param);
    
    /**
     * 流程实例列表（历史的、当前的都能查）
     * <p>
     * 注：尚未完成的流程实例和完成了的流程实例，都存储在ACT_HI_PROCINST表（他们通过END_TIME_是否为空来区分）
     * </p>
     *
     * @param param 查询参数
     *
     * @return 历史流程实例
     */
    List<DefaultBpmnHisProcessInstance> listHisProcessInstance(@Param("param") ShardingProcessListQueryDTO param);
    
}
